﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class ThongKe_PhuLuc2a : System.Web.UI.Page
{
    string tendonvi = null;
    _dbDataContext _db = new _dbDataContext();
    public bool check_click = false;
    List<string> list = new List<string>();
    protected void Page_Load(object sender, EventArgs e)
    {

        if (!IsPostBack)
        {

            pndetail.Visible = false;
            panel_indanhsach.Visible = false;
            chk_All.Checked = false;
            txtdenngay.Text = string.Format("{0:dd/MM/yyyy}", DateTime.Now);
            string madonvi = MemberShip_ASP.GetMaDonViFromUserName(this.Page.User.Identity.Name);
            var listcosodoan = _db.tblCoSoDoans.Where(r => r.MaDonVi.Trim() != "TDB");
            string daidien = madonvi.Substring(0, 3);
            //huyện đoàn,đoàn ngang cấp:cơ quan đoàn khối
            if (daidien == "CSD")
            {
                TreeView1.Nodes.Clear();
                tendonvi = listcosodoan.Single(r => r.MaDonVi.Trim() == madonvi.Trim()).TenDonVi;
                List<tblCoSoDoan> list = listcosodoan.Where(r => r.TrucThuoc.Trim() == madonvi).ToList();
                TreeNode root = new TreeNode(" <i class='icon-circle-arrow-right' style=color:Green;font-size:14px;'></i><span style=';font-size:14px;'> " + tendonvi + "</span>", madonvi.Trim());
                foreach (tblCoSoDoan item in list)
                {
                    TreeNode child = new TreeNode(" <i class=' icon-leaf' style=color:Green;font-size:14px;'></i><span style=';font-size:14px;'> " + item.TenDonVi.Trim() + "</span>", item.MaDonVi.Trim());
                    List<tblCoSoDoan> list1 = listcosodoan.Where(r => r.TrucThuoc.Trim() == item.MaDonVi.Trim()).ToList();
                    root.ChildNodes.Add(child);
                    foreach (tblCoSoDoan item1 in list1)
                    {
                        TreeNode child1 = new TreeNode(" <i class='icon-circle-arrow-right' style=color:Green;font-size:14px;'></i><span style=';font-size:14px;'> " + item1.TenDonVi.Trim() + "</span>", item1.MaDonVi.Trim());
                        child.ChildNodes.Add(child1);
                    }


                }
                TreeView1.Nodes.Add(root);
            }
            else
            {
                if (daidien == "DCS" || daidien == "CDC")
                {
                    //doan quan huyen
                    TreeView1.Nodes.Clear();
                    tendonvi = listcosodoan.Single(r => r.MaDonVi.Trim() == madonvi.Trim()).MaDonVi;
                    List<tblCoSoDoan> list = listcosodoan.Where(r => r.TrucThuoc.Trim() == madonvi).ToList();
                    TreeNode root = new TreeNode(" <i class='icon-circle-arrow-right' style=color:Green;font-size:14px;'></i><span style=';font-size:14px;'> " + tendonvi + "</span>", madonvi.Trim());
                    foreach (tblCoSoDoan item in list)
                    {
                        TreeNode child = new TreeNode(" <i class='icon-circle-arrow-right' style=color:Green;font-size:14px;'></i><span style=';font-size:14px;'> " + item.TenDonVi.Trim() + "</span>", item.MaDonVi.Trim());
                        List<tblCoSoDoan> list1 = listcosodoan.Where(r => r.TrucThuoc.Trim() == item.MaDonVi.Trim()).ToList();
                        root.ChildNodes.Add(child);
                    }
                    TreeView1.Nodes.Add(root);
                }
                else
                {
                    if (daidien == "CDD")
                    {
                        //chi đoàn
                        TreeView1.Nodes.Clear();
                        tendonvi = listcosodoan.Single(r => r.MaDonVi.Trim() == madonvi.Trim()).TenDonVi.Trim().ToString();
                        List<tblCoSoDoan> list = listcosodoan.Where(r => r.TrucThuoc.Trim() == madonvi).ToList();
                        foreach (tblCoSoDoan item in list)
                        {
                            TreeNode root = new TreeNode(" <i class='icon-circle-arrow-right' style=color:Green;font-size:14px;'></i><span style=';font-size:14px;'> " + tendonvi + "</span>", madonvi.Trim());
                            TreeView1.Nodes.Add(root);
                        }

                    }
                    else if (daidien == "TDB")
                    {
                        TreeView1.Nodes.Clear();
                        tendonvi = "Tỉnh Đoàn Bình Dương";
                        List<tblCoSoDoan> list = listcosodoan.Where(r => r.TrucThuoc.Trim() == madonvi).ToList();
                        TreeNode root = new TreeNode(" <i class='icon-home' style=color:Green;font-size:14px;'></i><span style=';font-size:14px;'> " + tendonvi + "</span>", madonvi.Trim());
                        foreach (tblCoSoDoan item in list)
                        {
                            TreeNode child = new TreeNode(" <i class=' icon-leaf' style=color:Green;font-size:14px;'></i><span style=';font-size:14px;'> " + item.TenDonVi.Trim() + "</span>", item.MaDonVi.Trim());
                            List<tblCoSoDoan> list1 = listcosodoan.Where(r => r.TrucThuoc.Trim() == item.MaDonVi.Trim()).ToList();
                            root.ChildNodes.Add(child);
                            foreach (tblCoSoDoan item1 in list1)
                            {
                                TreeNode child1 = new TreeNode(" <i class='icon-pencil' style=color:Green;font-size:14px;'></i><span style=';font-size:14px;'> " + item1.TenDonVi.Trim() + "</span>", item1.MaDonVi.Trim());
                                child.ChildNodes.Add(child1);
                                List<tblCoSoDoan> list2 = listcosodoan.Where(r => r.TrucThuoc.Trim() == item1.MaDonVi.Trim()).ToList();
                                foreach (tblCoSoDoan item2 in list2)
                                {
                                    TreeNode child2 = new TreeNode(" <i class='icon-pencil' style=color:Green;font-size:14px;'></i><span style=';font-size:14px;'> " + item2.TenDonVi.Trim() + "</span>", item2.MaDonVi.Trim());
                                    child1.ChildNodes.Add(child2);


                                }

                            }


                        }
                        TreeView1.Nodes.Add(root);

                    }
                }
            }
        }
    }
    public List<tblCoSoDoan> _Get_Id_CSD(string madonvi)
    {
        var listcosodoan = _db.tblCoSoDoans.Where(r => r.MaDonVi.Trim() != "TDB");
        string daidien = "";
        if (madonvi == "")
        {
            daidien = "TDB";
        }
        else
        {
            daidien = madonvi.Substring(0, 3);
        }

        List<tblCoSoDoan> _list_csd = new List<tblCoSoDoan>();
        //huyện đoàn,khối các cơ quan...:
        if (daidien == "CSD")
        {
            _list_csd.Add(listcosodoan.Single(r => r.MaDonVi.Trim() == madonvi));
            //cấp 1: huyện đoàn
            List<tblCoSoDoan> list = listcosodoan.Where(r => r.TrucThuoc.Trim() == madonvi).ToList();
            foreach (tblCoSoDoan item in list)
            {
                _list_csd.Add(item);
                //cấp 2:đoàn cs
                List<tblCoSoDoan> list1 = listcosodoan.Where(r => r.TrucThuoc.Trim() == item.MaDonVi.Trim()).ToList();
                foreach (tblCoSoDoan item1 in list1)
                {
                    _list_csd.Add(item1);
                    //cấp 3: chi đoàn cs
                    List<tblCoSoDoan> list2 = listcosodoan.Where(r => r.TrucThuoc.Trim() == item1.MaDonVi.Trim()).ToList();
                    foreach (tblCoSoDoan item2 in list2)
                    {
                        _list_csd.Add(item2);
                    }
                }
            }
        }
        //đoàn cơ sở->chi đoàn cơ sở
        else if (daidien == "DCS")
        {
            _list_csd.Add(listcosodoan.Single(r => r.MaDonVi.Trim() == madonvi));
            //cấp 1: huyện đoàn
            List<tblCoSoDoan> list = listcosodoan.Where(r => r.TrucThuoc.Trim() == madonvi).ToList();
            foreach (tblCoSoDoan item in list)
            {
                _list_csd.Add(item);
                //cấp 2:đoàn cs
                List<tblCoSoDoan> list1 = listcosodoan.Where(r => r.TrucThuoc.Trim() == item.MaDonVi.Trim()).ToList();
                foreach (tblCoSoDoan item1 in list1)
                {
                    _list_csd.Add(item1);
                }
            }
        }
        //chi đoàn cơ sở :ko có cấp dưới
        else if (daidien == "CDC" || daidien == "CDD")
        {
            _list_csd.Add(listcosodoan.Single(r => r.MaDonVi.Trim() == madonvi));
            //cấp 1: huyện đoàn
            List<tblCoSoDoan> list = listcosodoan.Where(r => r.TrucThuoc.Trim() == madonvi).ToList();
            foreach (tblCoSoDoan item in list)
            {
                _list_csd.Add(item);

            }
        }
        else
        {
            _list_csd = _db.tblCoSoDoans.ToList();
        }



        return _list_csd;



    }
    class ItemTemp
    {
        public string Item1 { get; set; }
        public string Item2 { get; set; }
        public string Item3 { get; set; }
        public string Item4 { get; set; }

    }
    class ItemTemp1
    {
        public string Item1 { get; set; }
        public string Item2 { get; set; }
        public string Item3 { get; set; }
    }
    //treeview click
    protected void TreeView1_SelectedNodeChanged1(object sender, EventArgs e)
    {

        //thông tin đơn vị
        pndetail.Visible = false;
        panel_indanhsach.Visible = false;
        chk_All.Checked = false;
        txttieudebanin.Text = "Nhập tiêu đề ";
        string madonvi_treeview = TreeView1.SelectedNode.Value.Trim();
        //MemberShip_ASP.macosodoan = madonvi_treeview;
        Session["macosodoanPhuLuc2a"] = madonvi_treeview;
        var list = _db.tblCoSoDoans.Single(r => r.MaDonVi.Trim() == madonvi_treeview);
        List<ItemTemp> lists = new List<ItemTemp>();
        ItemTemp item = new ItemTemp();
        lblthongtinchung.Text = "Thông tin thống kê :" + list.TenDonVi;
        item.Item1 = "Mã Đơn Vị";
        item.Item2 = list.MaDonVi;
        item.Item3 = "Email";
        item.Item4 = list.Email;
        lists.Add(item);
        item = new ItemTemp();
        item.Item1 = "Tên Đơn Vị";
        item.Item2 = list.TenDonVi;
        item.Item3 = "Website";
        item.Item4 = list.Website;
        lists.Add(item);
        item = new ItemTemp();
        item.Item1 = "Địa chỉ";
        item.Item2 = list.DiaChi;
        item.Item3 = "Lãnh đạo";
        item.Item4 = list.LanhDao;
        lists.Add(item);
        item = new ItemTemp();
        item.Item1 = "Điện thoại";
        item.Item2 = list.DienThoaiBan;
        item.Item3 = "Khu vực";
        lists.Add(item);
        item = new ItemTemp();
        item.Item1 = "Fax";
        item.Item2 = list.Fax;
        item.Item3 = "Nghị quyết";
        item.Item4 = list.NghiQuyet;
        lists.Add(item);
        item = new ItemTemp();
        item.Item1 = "Ngày thành lập";
        item.Item2 = string.Format("{0:dd/MM/yyyy}", list.NgayThanhLap);
        item.Item3 = "Trực thuộc";
        try { item.Item4 = TreeView1.SelectedNode.Parent.Text; }
        catch { }
        lists.Add(item);
        gridthongtin.DataSource = lists.ToList();
        gridthongtin.DataBind();
    }
    #region Sự kiện các control
    //protected List<tblTheSoDoan> Get_list_the_sodoan()
    //{
    //    DateTime tungay_dt = CatalogAccess.ConvertToDate(txttungay.Text.Trim());
    //    DateTime toingay_dt = CatalogAccess.ConvertToDate(txtdenngay.Text.Trim());
    //    List<tblTheSoDoan> list_so_the_doan = _db.tblTheSoDoans.Where(r => r.NgayCapThe_So >= tungay_dt && r.NgayCapThe_So <= toingay_dt).ToList();
    //    return list_so_the_doan;
    //}
    protected List<tblRenLuyenDoanVien> Get_list_reluyendoanvien()
    {
        DateTime toingay_dt = CatalogAccess.ConvertToDate(txtdenngay.Text.Trim());
        List<tblRenLuyenDoanVien> list_danhgia_renluyen = _db.tblRenLuyenDoanViens.Where(r => r.NamRenLuyen == toingay_dt.Year).ToList();
        return list_danhgia_renluyen;
    }
    protected List<tblGioiThieuChoDang> Get_list_gioithieudang()
    {
        DateTime tungay_dt = CatalogAccess.ConvertToDate(txttungay.Text.Trim());
        DateTime toingay_dt = CatalogAccess.ConvertToDate(txtdenngay.Text.Trim());
        List<tblGioiThieuChoDang> list_dangvien = _db.tblGioiThieuChoDangs.Where(r => r.NgayGioiThieu >= tungay_dt && r.NgayGioiThieu <= toingay_dt).ToList();
        return list_dangvien;
    }
    /// <summary>
    /// Sự kiện: Xem thống kê
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
     protected void btnthongke_biendong_Click(object sender, EventArgs e)
     {
         if (txtdenngay.Text=="")
         {
             txtdenngay.Text = string.Format("{0:dd/MM/yyyy}", DateTime.Now);
         }

         if (txttungay.Text == "")
         {
             lbl_message.ForeColor = System.Drawing.Color.Red;
             lbl_message.Text = "Chưa chọn thời gian thống kê";
             txttungay.Focus();
         }
         else
         {
            var list_dv = GetDoanVienDieuKien();
            var list_dv_full = GetFullDoanVien();
            int khoixaphuog = Get_list_by_doankhoi(list_dv, 84).Count();//84:mã danh muc :khối xax phuong
            int khoitruonghoc = Get_list_by_doankhoi(list_dv, 85).Count();//85:mã danh muc :khối trường học
            int khoidoanhnghiep_nhanuoc = Get_list_by_doankhoi(list_dv, 86).Count();//86:mã danh mục khối dn nhà nước
            int khoidoanhnghiep_ngoai_nhanuoc = Get_list_by_doankhoi(list_dv, 87).Count();//87:mã danh mục khối dn ngoài nhà nước
            int khoiCCVC = Get_list_by_doankhoi(list_dv, 88).Count();//86:mã danh mục khối công chức viên chức
            int khoiLLVT = Get_list_by_doankhoi(list_dv, 89).Count();//86:mã danh mục khối lực lượng vũ trang
            int dv_dantocthieuso = _Get_count_by_Dantoc(list_dv).Count();
            int dv_tongiao = _Get_count_by_Tongiao(list_dv).Count();
            int dv_sinhhoatnoicutru = _Get_count_by_sinhoat_nct(list_dv).Count();
            int dv_danhdu = _Get_count_by_status_dv(list_dv, 7).Count();
            int dangvien_shd = _Get_count_by_dangvien(list_dv).Count();
            int dv_phatrtienmoi = _Get_count_by_moiketnap(list_dv).Count();
            int dv_truongthanh = _Get_count_by_status_dv(list_dv, 3).Count();
            int dv_khaitru = _Get_count_by_status_dv(list_dv, 5).Count();
            int dv_bixoaten = _Get_count_by_delete_status(list_dv).Count();
            int dv_capsodoan = _Get_count_by_sodoanthedoan(list_dv, 2).Count();
            int dv_capthedoan = _Get_count_by_sodoanthedoan(list_dv, 1).Count();
            var list_danhgia_renluyen = Get_list_reluyendoanvien();
            int dv_chidoanthamgia = _Get_count_by_chidoanthamgiarenluyen(list_dv_full, list_danhgia_renluyen);
            int dv_thamgiarenluyen = _Get_count_by_doanvienthamgiarenluyen(list_dv_full, list_danhgia_renluyen);
            int tong = khoixaphuog + khoitruonghoc + khoidoanhnghiep_nhanuoc + khoidoanhnghiep_ngoai_nhanuoc + khoiCCVC + khoiLLVT;
            int dv_hoanthanhreluyen = _Get_count_by_doanvienhoanthanhchuongtrinh(list_dv_full, list_danhgia_renluyen);
            var list_dangvien = Get_list_gioithieudang();
            int dv_gt_chodang = Get_list_by_GioiThieu_dang(list_dangvien, 1).Count();
            int dv_gt_chodang_duoc_ket_nap = Get_list_by_GioiThieu_dang(list_dangvien, 0).Count();
            int dang_vien_khoixaphuong = list_dv.Where(r => r.DangVien == true && r.tblCoSoDoan.DoanKhoiID == 84).Count();
            int dang_vien_truonghoc = list_dv.Where(r => r.DangVien == true && r.tblCoSoDoan.DoanKhoiID == 85).Count();
            int dang_vien_doanhnghiep = list_dv.Where(r => r.DangVien == true && (r.tblCoSoDoan.DoanKhoiID == 87 || r.tblCoSoDoan.DoanKhoiID == 88)).Count();
            int dang_vien_ccvc = list_dv.Where(r => r.DangVien == true && r.tblCoSoDoan.DoanKhoiID == 88).Count();
            int dang_vien_khoikhac = list_dv.Where(r => r.DangVien == true && r.tblCoSoDoan.DoanKhoiID == 107).Count();
            int tongdangvien=dang_vien_khoixaphuong+dang_vien_truonghoc+dang_vien_doanhnghiep+dang_vien_ccvc+dang_vien_khoikhac;
            string str = "<td style=text-align:center;>1</td><td>" + tong + "</td>"
                            + "<td>" + khoixaphuog + "</td>"
                            + "<td>" + khoitruonghoc + "</td>"
                            + "<td>" + khoidoanhnghiep_nhanuoc + "</td>"
                            + "<td>" + khoidoanhnghiep_ngoai_nhanuoc + "</td>"
                            + "<td>" + khoiCCVC + "</td>"
                            + "<td>" + khoiLLVT + "</td>"
                            + "<td>" + dv_dantocthieuso + "</td>"
                            + "<td>" + dv_tongiao + "</td>"
                            + "<td>" + dv_sinhhoatnoicutru + "</td>"
                            + " <td>" + dv_danhdu + "</td>"
                            + " <td>" + dangvien_shd + "</td>"
                            + " <td>" + dv_phatrtienmoi + "</td>"
                            + " <td>" + dv_truongthanh + "</td>"
                            + " <td>" + dv_khaitru + "</td>"
                            + " <td>" + dv_bixoaten + "</td>"
                            + " <td>" + dv_capsodoan + "</td>"
                            + " <td>" + dv_capthedoan + "</td>"
                            + " <td>" + dv_chidoanthamgia + "</td>"
                            + " <td>" + dv_thamgiarenluyen + "</td>"
                            + " <td>" + dv_hoanthanhreluyen + "</td>"
                            + " <td>" + dv_gt_chodang + "</td>"
                            + " <td>" + dv_gt_chodang_duoc_ket_nap + " </td>"
                        + " <td>" + tongdangvien + "</td>"
                        + " <td>" + dang_vien_khoixaphuong + "</td>"
                        + " <td>" + dang_vien_truonghoc + "</td>"
                        + " <td>" + dang_vien_doanhnghiep + "</td>"
                        + " <td>" + dang_vien_ccvc + "</td>"
                        + " <td>" + dang_vien_khoikhac + "</td>";
                           
                            

            //gán dữ liệu đưa qua form để xuất excel:
            //MemberShip_ASP.str_table = str;
            Session["PhuLuc2aPrint"] = str;
            pndetail.Visible = true;
            lblnoidung.Text = str;

        }
         
     }
     protected List<tblDoanVien> GetDoanVienDieuKien()
     {
         DateTime tungay_dt = CatalogAccess.ConvertToDate(txttungay.Text.Trim());
         DateTime toingay_dt = CatalogAccess.ConvertToDate(txtdenngay.Text.Trim());
         return GetFullDoanVien().Where(r => r.NgayVaoDoan >= tungay_dt && r.NgayVaoDoan <= toingay_dt).ToList();
     }
     protected List<tblDoanVien> GetFullDoanVien()
     {
         List<tblCoSoDoan> list_cosodoan = new List<tblCoSoDoan>();
         List<tblDoanVien> list_dv_full = new List<tblDoanVien>();
         string madonvi = Session["macosodoanPhuLuc2a"].ToString();
         if (chk_All.Checked == true)
         {
             string madonvigoc = MemberShip_ASP.GetMaDonViFromUserName(this.Page.User.Identity.Name);
             list_cosodoan = _Get_Id_CSD(madonvigoc);
             foreach (tblCoSoDoan _csd_id in list_cosodoan)
             {
                 list_dv_full.AddRange(_db.tblDoanViens.Where(r => r.TrucThuoc.Trim() == _csd_id.MaDonVi.Trim()).ToList());
             }
         }
         else
         {
             if (Session["macosodoanPhuLuc2a"].ToString() == "TDB")
             {
                 list_dv_full = _db.tblDoanViens.ToList();
             }
             else
             {
                 list_cosodoan = _Get_Id_CSD(madonvi);
                 foreach (tblCoSoDoan _csd_id in list_cosodoan)
                 {
                     list_dv_full.AddRange(_db.tblDoanViens.Where(r => r.TrucThuoc.Trim() == _csd_id.MaDonVi.Trim()).ToList());
                 }
             }
         }
        return list_dv_full;
     }

	#endregion

    

    #region Xử lý sự kiện
    
    

     //đoàn viên ưu tú giới thiệu cho đảng
     public List<tblGioiThieuChoDang> Get_list_by_GioiThieu_dang(List<tblGioiThieuChoDang> listgioithieudang, int trangthai)
     {
         List<tblGioiThieuChoDang> gtd = new List<tblGioiThieuChoDang>();
         //1:được giới thiệu
         //0:được kết nạp
         if (trangthai == 1)
         {
             gtd = listgioithieudang.Where(r => r.tblDoanVien.MaDonVien == r.MaDoanVien).ToList();
         }
         else
             if (trangthai == 0)
             {
                 gtd = listgioithieudang.Where(r =>  r.tblDoanVien.MaDonVien == r.MaDoanVien && r.DuocKetNapDang == true).ToList();
             }
         return gtd;
     }
  
     /// <summary>
     /// Dem so luong co so doan theo doan khoi
     /// </summary>
     /// <param name="list_cosodoanvien">list co so doan</param>
     /// <param name="daidien">ma dai dien co so doan</param>
     /// <param name="madoankhoi">ma doan khoi</param>
     /// <returns></returns>
     public List<tblDoanVien> Get_list_by_doankhoi(List<tblDoanVien> listdoanvien, int madoankhoi)
     {
         return listdoanvien.Where(r => r.tblCoSoDoan.DoanKhoiID == madoankhoi).ToList();
     }
     /// <summary>
     /// 
     /// </summary>
     /// <param name="_lst_doanvien"></param>
     /// <param name="list_sothedoan"></param>
     /// <param name="sothe_sodoan">2:có sổ đoàn,1:có thẻ đoàn</param>
     /// <returns></returns>
     /// 
     public List<tblTheSoDoan> _Get_count_by_sodoanthedoan(List<tblDoanVien> list_dv,int loai)
     {
         var list = _db.tblTheSoDoans.Where(r => r.MaDoanVien == r.tblDoanVien.MaDonVien).ToList();
         return list.Where(r=>r.Loai==loai).ToList();
     }
     ///// <summary>
     ///// so luong chi doan triển khai chuowng trinh ren kuyen doa
     ///// </summary>
     ///// <param name="_lst_doanvien"></param>
     ///// <param name="list_sothedoan"></param>
     ///// <param name="sothe_sodoan">1:có sổ đoàn,0:có thẻ đoàn</param>
     ///// <returns></returns>
     ///// 
     public int _Get_count_by_chidoanthamgiarenluyen(List<tblDoanVien> _lst_doanvien, List<tblRenLuyenDoanVien> list_reluyendoanvien)
     {
         var list = from p in _lst_doanvien
                    join c in list_reluyendoanvien on p.MaDonVien equals c.MaDoanVien
                    group p by p.tblCoSoDoan.TrucThuoc into g
                    select new
                    {
                        Key = g.Key,
                        Values = g,
                        Total_dv = g.Count()

                    };

         return list.Count();


     }
    
     /// <summary>
     /// tổng so luong đoàn viên tham gia chương trình rèn luyện
     /// </summary>
     /// <param name="_lst_doanvien"></param>
     /// <param name="list_sothedoan"></param>
     /// <param name="sothe_sodoan">1:có sổ đoàn,0:có thẻ đoàn</param>
     /// <returns></returns>
     /// 
     public int _Get_count_by_doanvienthamgiarenluyen(List<tblDoanVien> _lst_doanvien, List<tblRenLuyenDoanVien> list_reluyendoanvien)
     {
         int sodoanvienthamgia = 0;
         var list = from p in _lst_doanvien
                     join c in list_reluyendoanvien on p.MaDonVien equals c.MaDoanVien
                     group p by p.tblCoSoDoan.TrucThuoc into g
                     select new
                     {
                         Key = g.Key,
                         Values = g,
                         Total_dv=g.Count() 
                         
                     };

         foreach (var result in list)
         {
             sodoanvienthamgia += result.Total_dv;
         }

         return sodoanvienthamgia;


     }
     /// <summary>
     /// số đoàn viên hoàn thành chương trình rèn luyện đoàn viên
     /// </summary>
     /// <param name="_lst_doanvien"></param>
     /// <param name="list_sothedoan"></param>
     /// <param name="sothe_sodoan">1:có sổ đoàn,0:có thẻ đoàn</param>
     /// <returns></returns>
     /// 
     public int _Get_count_by_doanvienhoanthanhchuongtrinh(List<tblDoanVien> _lst_doanvien, List<tblRenLuyenDoanVien> list_reluyendoanvien)
     {
         int sl=0;
         var list = (from p in _lst_doanvien
                     join c in list_reluyendoanvien.Where(r=>r.MucDoHoanThanh != 6 && r.MucDoHoanThanh !=1) on p.MaDonVien equals c.MaDoanVien
                     select new

                     {
                         ma=p.MaDonVien,
                         ten=p.HoTen
                     }).ToList();
         sl=list.Count();
         return sl;

     }
     /// <summary>
     ///Hàm get list doan vien theo trang thai
     /// </summary>
     /// <param name="_lst_doanvien">list danh sách đoàn viên của đơn vị</param>
     /// <param name="trangthai">trạng thái của đoàn viên</param>
     /// <returns></returns>
     public List<tblDoanVien> _Get_count_by_status_dv(List<tblDoanVien> _lst_doanvien,int trangthaidv)
     {

         return _lst_doanvien.Where(r => r.TrangThai == trangthaidv).ToList();
     }
     
    /// <summary>
    /// Hàm get list theo trạng thái đoàn viên bị xóa tên
    /// </summary>
    /// <param name="_lst_doanvien">dsanh sách đoàn viên</param>
    /// <returns></returns>
    public List<tblDoanVien> _Get_count_by_delete_status(List<tblDoanVien> _lst_doanvien)
    {
        return  _lst_doanvien.Where(r =>r.TrangThaiXoa == true).ToList();
    }
    /// <summary>
    /// Hàm get list theo tôn giáo
    /// </summary>
    /// <param name="_lst_doanvien">Danh sách đoàn viên</param>
    /// <returns>ds đoàn viên theo tôn giáo</returns>
    public List<tblDoanVien> _Get_count_by_Tongiao(List<tblDoanVien> _lst_doanvien)
    {
        string tongiao = "KHÔNG";
        return _lst_doanvien.Where(r => r.tblDanhMuc1.TenDanhMuc.Trim().ToUpper() != tongiao.Trim().ToUpper()).ToList();
    }
    /// <summary>
    /// Hàm get list theo dân tộc
    /// </summary>
    /// <param name="_lst_doanvien">Danh sách doàn vien</param>
    /// <returns>list doan vien là dân tộc thiểu số</returns>
    public List<tblDoanVien> _Get_count_by_Dantoc(List<tblDoanVien> _lst_doanvien)
    {
        string dantoc="KINH";
        return _lst_doanvien.Where(r => r.tblDanhMuc.TenDanhMuc.Trim().ToString().ToUpper() != dantoc.Trim().ToUpper()).ToList();

    }
    /// <summary>
    /// Đoàn viên sinh hoạt nơi cư trú
    /// </summary>
    /// <param name="_lst_doanvien">danh sách đoàn viên</param>
    /// <returns>trả về danh sách đoàn viên sinh hoạt đoàn tại nơi cư trú</returns>
    public List<tblDoanVien> _Get_count_by_sinhoat_nct(List<tblDoanVien> _lst_doanvien)
    {
        return _lst_doanvien.Where(r => r.DoanVienSinhHoatNoiCuTru == true).ToList();

    }
    /// <summary>
    /// đoàn viên phát triển mới
    /// </summary>
    /// <param name="_lst_doanvien">danh sách đoàn viên</param>
    /// <returns>trả về danh sách đoàn viên mwois kết nạp</returns>
    public List<tblDoanVien> _Get_count_by_moiketnap(List<tblDoanVien> _lst_doanvien)
    {
        return _lst_doanvien.Where(r =>r.PhatTrienMoi == false).ToList();

    }
   
    /// <summary>
    /// Đoàn viên là đảng viên đang sinh hoạt đoàn tại cơ sở
    /// </summary>
    /// <param name="_lst_doanvien"></param>
    /// <returns></returns>
    public List<tblDoanVien> _Get_count_by_dangvien(List<tblDoanVien> _lst_doanvien)
    {
        return _lst_doanvien.Where(r => r.DangVien == true).ToList();

    }
    #endregion

    #region Thực thi sự kiện

    /// <summary>
    /// Sự kiện xuất thống kê ra file Excel
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btn_xuat_file_excel_Click(object sender, EventArgs e)
    {
        Response.Redirect("javascript:window.open('../Print/Print2a.aspx','_blank');");
    }
    protected void btnthongke_biendong_Click1(object sender, EventArgs e)
    {
        panel_indanhsach.Visible = true;
    }

    protected void txttungay_TextChanged(object sender, EventArgs e)
    {
        if (txttungay.Text != "")
        {

            lbl_message.Text = "";
        }
    }

    #endregion

    #region In danh sách 

    //HÀM XỬ LÝ DANH SÁCH DV THEO ĐOÀN KHỐI
    public void indanhsach_theodoankhoi(List<tblDoanVien> list_doan_vien, int id_doan_khoi)
    {
        if (lblnoidung.Text != "")
        {
            panel_indanhsach.Visible = true;
            string Today_date = string.Format("{0:dd/MM/yyyy}", DateTime.Now);
            string str = "<td style='text-align: right;' colspan='8'>"
                                                        + "<em>Ngày lập báo cáo:" + Today_date + "</em>"
                                                        + "&nbsp;"

                                                           + " <em>"
                                                               + " <br />"
                                                               + " Đơn vị thống kê:Không rõ </em>"
                                                        + "&nbsp;"

                                                    + "</td>"
                                                + "</tr>"

                                                + "<tr>"
                                                    + "<td>STT</td>"
                                                    + "<td>Mã đoàn viên</td>"
                                                    + "<td>Họ Tên</td>"
                                                    + "<td>Ngày sinh</td>"
                                                    + "<td>Giới tính</td>"
                                                    + "<td>Ngày vào đoàn</td>"
                                                    + "<td>Nguyên Quán</td>"
                                                    + "<td>Đơn vị trưc thuộc</td>"
                                                + "</tr>";

            var val=list_doan_vien.Where(r => r.tblCoSoDoan.DoanKhoiID == id_doan_khoi).ToList();
            int dem = 0;
            foreach (var dtdv in val)
            {

                str += "<tr>"
                    + "<td>" + dem++ + "</td>"
                    + "<td>" + dtdv.MaDonVien + "</td>"
                    + "<td style='text-align: justify;'>" + dtdv.HoTen + "</td>   "
                    + "<td>" + string.Format("{0:dd/MM/yyyy}",dtdv.NgaySinh) + "</td>"
                    + "<td>" + (dtdv.Phai==true?"Nam":"Nữ") + "</td> "
                    + "<td>" + string.Format("{0:dd/MM/yyyy}",dtdv.NgayVaoDoan) + "</td>     "
                    + "<td>" + dtdv.NguyenQuan.Trim() + "</td>    "
                     + "<td>" + dtdv.tblCoSoDoan.TenDonVi.Trim() + "</td>"
                    + "</tr>";




            }

            label_table.Text = str;
        }
    }
    //HÀM XỬ LÝ DANH SÁCH DV THEO TRẠNG THÁI 
    public void indanhsach_theotrangthai(List<tblDoanVien> list_doan_vien, int _trangthai)
    {
        if (lblnoidung.Text != "")
        {
            panel_indanhsach.Visible = true;
            string Today_date = string.Format("{0:dd/MM/yyyy}", DateTime.Now);
            string str = "<td style='text-align: right;' colspan='8'>"
                                                        + "<em>Ngày lập báo cáo:" + Today_date + "</em>"
                                                        + "&nbsp;"

                                                           + " <em>"
                                                               + " <br />"
                                                               + " Đơn vị thống kê:Không rõ </em>"
                                                        + "&nbsp;"

                                                    + "</td>"
                                                + "</tr>"

                                                + "<tr>"
                                                    + "<td>STT</td>"
                                                    + "<td>Mã đoàn viên</td>"
                                                    + "<td>Họ Tên</td>"
                                                    + "<td>Ngày sinh</td>"
                                                    + "<td>Giới tính</td>"
                                                    + "<td>Ngày vào đoàn</td>"
                                                    + "<td>Nguyên Quán</td>"
                                                    + "<td>Đơn vị trưc thuộc</td>"
                                                + "</tr>";

            var val = list_doan_vien.Where(r => r.TrangThai == _trangthai).ToList();
            int dem = 0;
            foreach (var dtdv in val)
            {
                str += "<tr>"
                    + "<td>" + dem++ + "</td>"
                    + "<td>" + dtdv.MaDonVien + "</td>"
                    + "<td style='text-align: justify;'>" + dtdv.HoTen + "</td>   "
                    + "<td>" + string.Format("{0:dd/MM/yyyy}", dtdv.NgaySinh) + "</td>"
                    + "<td>" + (dtdv.Phai == true ? "Nam" : "Nữ") + "</td> "
                    + "<td>" + string.Format("{0:dd/MM/yyyy}", dtdv.NgayVaoDoan) + "</td>     "
                    + "<td>" + dtdv.NguyenQuan.Trim() + "</td>    "
                     + "<td>" + dtdv.tblCoSoDoan.TenDonVi.Trim() + "</td>"
                    + "</tr>";
            }

            label_table.Text = str;
        }
    }
    //HÀM XỬ LÝ THEO DÂN TỘC-TÔN GIÁO
    //tongiao:1
    //dantoc:0
    public void indanhsach_theodantoc_tongiao(List<tblDoanVien> list_doan_vien, int check)
    {
        if (lblnoidung.Text != "")
        {
            var list_dv = GetDoanVienDieuKien();
            panel_indanhsach.Visible = true;
            string Today_date = string.Format("{0:dd/MM/yyyy}", DateTime.Now);
            string str = "<td style='text-align: right;' colspan='9'>"
                                                        + "<em>Ngày lập báo cáo:" + Today_date + "</em>"
                                                        + "&nbsp;"

                                                           + " <em>"
                                                               + " <br />"
                                                               + " Đơn vị thống kê:Không rõ </em>"
                                                        + "&nbsp;"

                                                    + "</td>"
                                                + "</tr>"

                                                + "<tr>"
                                                    + "<td>STT</td>"
                                                    + "<td>Mã đoàn viên</td>"
                                                    + "<td>Họ Tên</td>"
                                                    + "<td>Ngày sinh</td>"
                                                    + "<td>Giới tính</td>";
                                               if (check == 0)
                                                {
                                                     str +="<td>Dân tộc</td>";
                                                }
                                                else
                                                {
                                                     str +="<td>Tôn giao</td>";
                                                }
                 
                                                  
                                                   str+="<td>Ngày vào đoàn</td>"
                                                    + "<td>Nguyên Quán</td>"
                                                    + "<td>Đơn vị trưc thuộc</td>"
                                                    + "</tr>";
            List<tblDoanVien> val=new List<tblDoanVien>();
            //dân tộc
            if (check == 0)
            {
                 string dantoc = "KINH";
                 val = list_dv.Where(r => r.tblDanhMuc.TenDanhMuc.Trim().ToString().ToUpper() != dantoc.Trim().ToUpper()).ToList();
            }
            //tôn giáo
            else if (check == 1)
            {
                string tongiao = "KHÔNG";
                val = list_dv.Where(r => r.tblDanhMuc1.TenDanhMuc.Trim().ToUpper() != tongiao.Trim().ToUpper()).ToList();
            }
                
                
            int dem = 0;
            foreach (var dtdv in val)
            {
                str += "<tr>"
                    + "<td>" + dem++ + "</td>"
                    + "<td>" + dtdv.MaDonVien + "</td>"
                    + "<td style='text-align: justify;'>" + dtdv.HoTen + "</td>   "
                    + "<td>" + string.Format("{0:dd/MM/yyyy}", dtdv.NgaySinh) + "</td>"
                    + "<td>" + (dtdv.Phai == true ? "Nam" : "Nữ") + "</td> ";
                if (check == 0)
                {
                    str += "<td>" + dtdv.tblDanhMuc.TenDanhMuc + "</td> ";
                }
                else
                {
                     str += "<td>" + dtdv.tblDanhMuc1.TenDanhMuc + "</td> ";
                }
                   
                str +="<td>" + string.Format("{0:dd/MM/yyyy}", dtdv.NgayVaoDoan) + "</td>     "
                    + "<td>" + dtdv.NguyenQuan.Trim() + "</td>    "
                     + "<td>" + dtdv.tblCoSoDoan.TenDonVi.Trim() + "</td>"
                    + "</tr>";
            }

            label_table.Text = str;
        }
    }
    //HÀM XỬ LÝ CẤP SỔ - THẺ ĐOÀN
    //TRUE:CÓ SỔ ĐOÀN 
    //FALSE:CÓ THỂ ĐOÀN
    public void indanhsach_theo_sothedoan(List<tblTheSoDoan> list_doan_vien_coso_the, int loai)
    {
        if (lblnoidung.Text != "")
        {
            panel_indanhsach.Visible = true;
            string Today_date = string.Format("{0:dd/MM/yyyy}", DateTime.Now);
            string str = "<td style='text-align: right;' colspan='10'>"
                                                        + "<em>Ngày lập báo cáo:" + Today_date + "</em>"
                                                        + "&nbsp;"

                                                           + " <em>"
                                                               + " <br />"
                                                               + " Đơn vị thống kê:Không rõ </em>"
                                                        + "&nbsp;"

                                                    + "</td>"
                                                + "</tr>"

                                                + "<tr>"
                                                    + "<td>STT</td>"
                                                    + "<td>Mã đoàn viên</td>"
                                                    + "<td>Họ Tên</td>"
                                                    + "<td>Ngày sinh</td>"
                                                    + "<td>Giới tính</td>";
            if (loai == 2)
            {
                str += "<td>Số sổ đoàn</td>"
                    + "<td>Ngày cấp sổ</td>";
            }
            else
            {
                str += "<td>Số thẻ đoàn</td>"
                    + "<td>Ngày cấp thẻ</td>";
            }


            str += "<td>Ngày vào đoàn</td>"
             + "<td>Nguyên Quán</td>"
             + "<td>Đơn vị trưc thuộc</td>"
             + "</tr>";
            int dem = 0;
            foreach (var dtdv in list_doan_vien_coso_the)
            {
                str += "<tr>"
                    + "<td>" + dem++ + "</td>"
                    + "<td>" + dtdv.MaDoanVien + "</td>"
                    + "<td style='text-align: justify;'>" + dtdv.tblDoanVien.HoTen + "</td>   "
                    + "<td>" + string.Format("{0:dd/MM/yyyy}", dtdv.tblDoanVien.NgaySinh) + "</td>"
                    + "<td>" + (dtdv.tblDoanVien.Phai == true ? "Nam" : "Nữ") + "</td> "
                    +"<td>" + dtdv.SoDuocCap + "</td> "
                      + "<td>" + string.Format("{0:dd/MM/yyyy}", dtdv.NgayCapThe_So) + "</td>     "
                    + "<td>" + string.Format("{0:dd/MM/yyyy}", dtdv.tblDoanVien.NgayVaoDoan) + "</td>     "
                    + "<td>" + dtdv.tblDoanVien.NguyenQuan.Trim() + "</td>    "
                    + "<td>" + dtdv.tblDoanVien.tblCoSoDoan.TenDonVi+ "</td>"
                    + "</tr>";
            }

            label_table.Text = str;
        }
    }

    //int khoitruonghoc = Get_list_by_doankhoi(list_csd, daidien, 85).Count();//85:mã danh muc :khối trường học
    //int khoidoanhnghiep_nhanuoc = Get_list_by_doankhoi(list_csd, daidien, 86).Count();//86:mã danh mục khối dn nhà nước
    //int khoidoanhnghiep_ngoai_nhanuoc = Get_list_by_doankhoi(list_csd, daidien, 87).Count();//87:mã danh mục khối dn ngoài nhà nước
    //int khoiCCVC = Get_list_by_doankhoi(list_csd, daidien, 88).Count();//88:mã danh mục khối công chức viên chức
    //int khoiLLVT = Get_list_by_doankhoi(list_csd, daidien, 89).Count();//89:mã danh mục khối lực lượng vũ trang
    //int khoinongthon = Get_list_by_doankhoi(list_csd, daidien, 105).Count();//105:mã danh mục khối nong thon
    //int khoidothi = Get_list_by_doankhoi(list_csd, daidien, 106).Count();//106:mã danh mục khối do thi
    //PHƯỜNG XÃ
    protected void link4_Click(object sender, EventArgs e)
    {
         indanhsach_theodoankhoi(GetDoanVienDieuKien(),84);
    }
    //TRƯỜNG HỌC
    protected void link5_Click(object sender, EventArgs e)
    {
        indanhsach_theodoankhoi(GetDoanVienDieuKien(), 85);
    }
    //DOANH NGHIỆP NHÀ NƯỚC
    protected void link6_Click(object sender, EventArgs e)
    {
        indanhsach_theodoankhoi(GetDoanVienDieuKien(), 86);
    }
    //DOANH NGHIỆP NGOÀI NHÀ NƯỚC
    protected void link7_Click(object sender, EventArgs e)
    {
        indanhsach_theodoankhoi(GetDoanVienDieuKien(), 87);
    }
    //KHỐI CÔNG CHỨC VIÊN CHỨC
    protected void link8_Click(object sender, EventArgs e)
    {
        indanhsach_theodoankhoi(GetDoanVienDieuKien(), 88);
    }
    //KHỐI LỰC LƯỢNG VŨ TRANG
    protected void link9_Click(object sender, EventArgs e)
    {
        indanhsach_theodoankhoi(GetDoanVienDieuKien(), 89);
    }
    //ĐOÀN VIÊN LÀ NGƯỜI DÂN TỘC THIỂU SỐ
    protected void LinkButton1_Click(object sender, EventArgs e)
    {
        indanhsach_theodantoc_tongiao(GetDoanVienDieuKien(), 0);
    
    }
    //ĐOAÒN VIÊN THEO TÔN GIÁO
    protected void LinkButton2_Click(object sender, EventArgs e)
    {
        indanhsach_theodantoc_tongiao(GetDoanVienDieuKien(), 1);
    }
    //TRƯỞNG THÀNH: ID=2
    //KHAI TRỪ: ID=5
    //XÓA TÊN : TRANGTHAIXOA=TRUE;

    //ĐOÀN VIÊN SINH HOẠT NỚI CƯ TRÚ
    protected void LinkButton3_Click(object sender, EventArgs e)
    {
        if (lblnoidung.Text != "")
        {
            var list_dv = GetDoanVienDieuKien();
            panel_indanhsach.Visible = true;
            string Today_date = string.Format("{0:dd/MM/yyyy}", DateTime.Now);
            string str = "<td style='text-align: right;' colspan='8'>"
                                                        + "<em>Ngày lập báo cáo:" + Today_date + "</em>"
                                                        + "&nbsp;"

                                                           + " <em>"
                                                               + " <br />"
                                                               + " Đơn vị thống kê:Không rõ </em>"
                                                        + "&nbsp;"

                                                    + "</td>"
                                                + "</tr>"

                                                + "<tr>"
                                                    + "<td>STT</td>"
                                                    + "<td>Mã đoàn viên</td>"
                                                    + "<td>Họ Tên</td>"
                                                    + "<td>Ngày sinh</td>"
                                                    + "<td>Giới tính</td>"
                                                    + "<td>Ngày vào đoàn</td>"
                                                    + "<td>Nguyên Quán</td>"
                                                    + "<td>Đơn vị trưc thuộc</td>"
                                                + "</tr>";

            var val = list_dv.Where(r => r.DoanVienSinhHoatNoiCuTru == true).ToList();
            int dem = 0;
            foreach (var dtdv in val)
            {
                str += "<tr>"
                    + "<td>" + dem++ + "</td>"
                    + "<td>" + dtdv.MaDonVien + "</td>"
                    + "<td style='text-align: justify;'>" + dtdv.HoTen + "</td>   "
                    + "<td>" + string.Format("{0:dd/MM/yyyy}", dtdv.NgaySinh) + "</td>"
                    + "<td>" + (dtdv.Phai == true ? "Nam" : "Nữ") + "</td> "
                    + "<td>" + string.Format("{0:dd/MM/yyyy}", dtdv.NgayVaoDoan) + "</td>     "
                    + "<td>" + dtdv.NguyenQuan.Trim() + "</td>    "
                     + "<td>" + dtdv.tblCoSoDoan.TenDonVi.Trim() + "</td>"
                    + "</tr>";
            }

            label_table.Text = str;
        }
    }

    //ĐOÀN VIÊN DANH DƯ
    protected void LinkButton4_Click(object sender, EventArgs e)
    {
        indanhsach_theotrangthai(GetDoanVienDieuKien(), 7);
    }
    //ĐẢNG VIÊN THAM GIA SINH HOẠT ĐOÀN 
    protected void LinkButton5_Click(object sender, EventArgs e)
    {
        if (lblnoidung.Text != "")
        {
            panel_indanhsach.Visible = true;
            string Today_date = string.Format("{0:dd/MM/yyyy}", DateTime.Now);
            string str = "<td style='text-align: right;' colspan='8'>"
                                                        + "<em>Ngày lập báo cáo:" + Today_date + "</em>"
                                                        + "&nbsp;"

                                                           + " <em>"
                                                               + " <br />"
                                                               + " Đơn vị thống kê:Không rõ </em>"
                                                        + "&nbsp;"

                                                    + "</td>"
                                                + "</tr>"

                                                + "<tr>"
                                                    + "<td>STT</td>"
                                                    + "<td>Mã đoàn viên</td>"
                                                    + "<td>Họ Tên</td>"
                                                    + "<td>Ngày sinh</td>"
                                                    + "<td>Giới tính</td>"
                                                    + "<td>Ngày vào đoàn</td>"
                                                    + "<td>Nguyên Quán</td>"
                                                    + "<td>Đơn vị trưc thuộc</td>"
                                                + "</tr>";

            var val = GetDoanVienDieuKien().Where(r => r.DangVien == true).ToList();
            int dem = 0;
            foreach (var dtdv in val)
            {
                str += "<tr>"
                    + "<td>" + dem++ + "</td>"
                    + "<td>" + dtdv.MaDonVien + "</td>"
                    + "<td style='text-align: justify;'>" + dtdv.HoTen + "</td>   "
                    + "<td>" + string.Format("{0:dd/MM/yyyy}", dtdv.NgaySinh) + "</td>"
                    + "<td>" + (dtdv.Phai == true ? "Nam" : "Nữ") + "</td> "
                    + "<td>" + string.Format("{0:dd/MM/yyyy}", dtdv.NgayVaoDoan) + "</td>     "
                    + "<td>" + dtdv.NguyenQuan.Trim() + "</td>    "
                     + "<td>" + dtdv.tblCoSoDoan.TenDonVi.Trim() + "</td>"
                    + "</tr>";
            }

            label_table.Text = str;
        }
    }
    //ĐOÀN VIÊN KẾT NẠP MỚI
    protected void LinkButton6_Click(object sender, EventArgs e)
    {
        if (lblnoidung.Text != "")
        {
            panel_indanhsach.Visible = true;
            string Today_date = string.Format("{0:dd/MM/yyyy}", DateTime.Now);
            string str = "<td style='text-align: right;' colspan='8'>"
                                                        + "<em>Ngày lập báo cáo:" + Today_date + "</em>"
                                                        + "&nbsp;"

                                                           + " <em>"
                                                               + " <br />"
                                                               + " Đơn vị thống kê:Không rõ </em>"
                                                        + "&nbsp;"

                                                    + "</td>"
                                                + "</tr>"

                                                + "<tr>"
                                                    + "<td>STT</td>"
                                                    + "<td>Mã đoàn viên</td>"
                                                    + "<td>Họ Tên</td>"
                                                    + "<td>Ngày sinh</td>"
                                                    + "<td>Giới tính</td>"
                                                    + "<td>Ngày vào đoàn</td>"
                                                    + "<td>Nguyên Quán</td>"
                                                    + "<td>Đơn vị trưc thuộc</td>"
                                                + "</tr>";

            var val = GetDoanVienDieuKien().Where(r => r.PhatTrienMoi == false).ToList();
            int dem = 0;
            foreach (var dtdv in val)
            {
                str += "<tr>"
                    + "<td>" + dem++ + "</td>"
                    + "<td>" + dtdv.MaDonVien + "</td>"
                    + "<td style='text-align: justify;'>" + dtdv.HoTen + "</td>   "
                    + "<td>" + string.Format("{0:dd/MM/yyyy}", dtdv.NgaySinh) + "</td>"
                    + "<td>" + (dtdv.Phai == true ? "Nam" : "Nữ") + "</td> "
                    + "<td>" + string.Format("{0:dd/MM/yyyy}", dtdv.NgayVaoDoan) + "</td>     "
                    + "<td>" + dtdv.NguyenQuan.Trim() + "</td>    "
                     + "<td>" + dtdv.tblCoSoDoan.TenDonVi.Trim() + "</td>"
                    + "</tr>";
            }

            label_table.Text = str;
        }
    }
    //ĐOÀN VIÊN TRƯỞNG THÀNH
    protected void LinkButton7_Click(object sender, EventArgs e)
    {
        indanhsach_theotrangthai(GetDoanVienDieuKien(), 3);

    }
    //ĐOÀN VIÊN KHAI TRỪ
    protected void LinkButton8_Click(object sender, EventArgs e)
    {
        indanhsach_theotrangthai(GetDoanVienDieuKien(), 5);
    }
    //ĐOÀN VIÊN XÓA TÊN
    protected void LinkButton9_Click(object sender, EventArgs e)
    {
        if (lblnoidung.Text != "")
        {
            panel_indanhsach.Visible = true;
            string Today_date = string.Format("{0:dd/MM/yyyy}", DateTime.Now);
            string str = "<td style='text-align: right;' colspan='8'>"
                                                        + "<em>Ngày lập báo cáo:" + Today_date + "</em>"
                                                        + "&nbsp;"

                                                           + " <em>"
                                                               + " <br />"
                                                               + " Đơn vị thống kê:Không rõ </em>"
                                                        + "&nbsp;"

                                                    + "</td>"
                                                + "</tr>"

                                                + "<tr>"
                                                    + "<td>STT</td>"
                                                    + "<td>Mã đoàn viên</td>"
                                                    + "<td>Họ Tên</td>"
                                                    + "<td>Ngày sinh</td>"
                                                    + "<td>Giới tính</td>"
                                                    + "<td>Ngày vào đoàn</td>"
                                                    + "<td>Nguyên Quán</td>"
                                                    + "<td>Đơn vị trưc thuộc</td>"
                                                + "</tr>";

            var val = GetDoanVienDieuKien().Where(r => r.TrangThaiXoa == true).ToList();
            int dem = 0;
            foreach (var dtdv in val)
            {
                str += "<tr>"
                    + "<td>" + dem++ + "</td>"
                    + "<td>" + dtdv.MaDonVien + "</td>"
                    + "<td style='text-align: justify;'>" + dtdv.HoTen + "</td>   "
                    + "<td>" + string.Format("{0:dd/MM/yyyy}", dtdv.NgaySinh) + "</td>"
                    + "<td>" + (dtdv.Phai == true ? "Nam" : "Nữ") + "</td> "
                    + "<td>" + string.Format("{0:dd/MM/yyyy}", dtdv.NgayVaoDoan) + "</td>     "
                    + "<td>" + dtdv.NguyenQuan.Trim() + "</td>    "
                     + "<td>" + dtdv.tblCoSoDoan.TenDonVi.Trim() + "</td>"
                    + "</tr>";
            }

            label_table.Text = str;
        }
    }
    //ĐOÀN VIÊN CÓ SỔ ĐOÀN VIÊN
    protected void LinkButton10_Click(object sender, EventArgs e)
    {
        var list_dv = GetDoanVienDieuKien();
        var list = _Get_count_by_sodoanthedoan(list_dv, 2);
        indanhsach_theo_sothedoan(list, 2);
    }

    //ĐOÀN VIÊN CÓ THẺ ĐOÀN
    protected void LinkButton11_Click(object sender, EventArgs e)
    {
        var list_dv = GetDoanVienDieuKien();
        var list = _Get_count_by_sodoanthedoan(list_dv, 1);
        indanhsach_theo_sothedoan(list, 1);
    }
    //DANH SÁCH CHI ĐOÀN TRIỂN KHAI CT RÈN LUYỆN
    protected void link10_Click(object sender, EventArgs e)
    {
  
       
        
    }
    //DS ĐOÀN VIÊN THAM GIA ĐĂNG KÝ CT REN LUYỆN
    protected void LinkButton21_Click(object sender, EventArgs e)
    {

    }
    //DS ĐOÀN VIÊN  HOÀN THÀNH CHƯƠNG TRÌNH RÈN LUYỆN
    protected void LinkButton22_Click(object sender, EventArgs e)
    {
        if (lblnoidung.Text != "")
        {
            panel_indanhsach.Visible = true;
            string Today_date = string.Format("{0:dd/MM/yyyy}", DateTime.Now);
            string str = "<td style='text-align: right;' colspan='12'>"
                                                        + "<em>Ngày lập báo cáo:" + Today_date + "</em>"
                                                        + "&nbsp;"
                                                    + "</td>"
                                                + "</tr>"

                                                + "<tr>"
                                                    + "<td>STT</td>"
                                                    + "<td>Mã đoàn viên</td>"
                                                    + "<td>Họ Tên</td>"
                                                    + "<td>Ngày sinh</td>"
                                                    + "<td>Giới tính</td>"
                                                    + "<td>Ngày vào đoàn</td>"
                                                    + "<td>Năm rèn luyện</td>"
                                                    + "<td>Ngày đăng ký</td>"
                                                    + "<td>Xếp loại</td>"
                                                    + "<td>Nguyên quán</td>"
                                                    + "<td>Đơn vị trưc thuộc</td>"
                                                + "</tr>";




            var list = (from p in GetFullDoanVien()
                    join c in Get_list_reluyendoanvien().Where(r => r.MucDoHoanThanh != 6 && r.MucDoHoanThanh != 1) on p.MaDonVien equals c.MaDoanVien
                    select new
                    {
                        madv = p.MaDonVien,
                        tendv = p.HoTen,
                        ngaysinh=string.Format("{0:dd/MM/yyyy}", p.NgaySinh),
                        gioitinh = (p.Phai == true ? "Nam" : "Nữ"),
                        ngayvaodoan = string.Format("{0:dd/MM/yyyy}", p.NgayVaoDoan),
                        namreluyen =c.NamRenLuyen,
                        ngaydangky = string.Format("{0:dd/MM/yyyy}",c.NgayDangKy),
                        xeploai=ten_loai_danh_gia(Convert.ToInt32(c.MucDoHoanThanh)),
                        nguyenquan=p.NguyenQuan,
                        donvitructhuoc=p.tblCoSoDoan.TenDonVi,

                        

                    }).ToList();
            int dem = 0;
            foreach (var dtdv in list)
            {
                str += "<tr>"
                    + "<td>" + dem++ + "</td>"
                    + "<td>" + dtdv.madv + "</td>"
                    + "<td style='text-align: justify;'>" + dtdv.tendv + "</td>   "
                    + "<td>" + dtdv.ngaysinh + "</td>"
                    + "<td>" +dtdv.gioitinh+ "</td> "
                    + "<td>" + dtdv.ngayvaodoan+ "</td>     "
                    + "<td>" + dtdv.namreluyen + "</td>     "
                    + "<td>" + dtdv.ngaydangky + "</td>    "
                    + "<td>" + dtdv.xeploai + "</td>     "
                    + "<td>" + dtdv.nguyenquan + "</td>     "
                     + "<td>" +dtdv.donvitructhuoc + "</td>"
                    + "</tr>";
            }

            label_table.Text = str;
        }
    }
    //hàm nhỏ trả về tên loại đánh giá
    public string ten_loai_danh_gia(int mucdo)
    {
        string ten = "";
        if (mucdo == 2)
        {
            ten = "Xuất sắc";
        }
        else if (mucdo == 3)
        {
            ten = "Giỏi";
        }
        else if (mucdo == 4)
        {
            ten = "Khá";
        }
        else if (mucdo == 5)
        {
            ten = "Trung bình";
        }
        else if (mucdo == 6)
        {
            ten = "Không hoàn thành";
        }
        else if (mucdo == 7)
        {
            ten = "Yếu";
        }
        else if (mucdo == 8)
        {
            ten = "Kém";
        }
        else if (mucdo == 9)
        {
            ten = "Không phân loại";
        }
            return ten;

    }
    //ĐOÀN VIÊN ƯU TÚ ĐƯỢC GIỚI THIỆU CHO ĐẢNG
    protected void LinkButton12_Click(object sender, EventArgs e)
    {
         if (lblnoidung.Text != "")
        {
            panel_indanhsach.Visible = true;
            string Today_date = string.Format("{0:dd/MM/yyyy}", DateTime.Now);
            string str = "<td style='text-align: right;' colspan='8'>"
                                                        + "<em>Ngày lập báo cáo:" + Today_date + "</em>"
                                                        + "&nbsp;"

                                                           + " <em>"
                                                               + " <br />"
                                                               + " Đơn vị thống kê:Không rõ </em>"
                                                        + "&nbsp;"

                                                    + "</td>"
                                                + "</tr>"

                                                + "<tr>"
                                                    + "<td>STT</td>"
                                                    + "<td>Mã đoàn viên</td>"
                                                    + "<td>Họ Tên</td>"
                                                    + "<td>Ngày sinh</td>"
                                                    + "<td>Giới tính</td>"
                                                    + "<td>Ngày vào đoàn</td>"
                                                    + "<td>Ngày giới thiệu đảng</td>"
                                                    + "<td>Đơn vị trưc thuộc</td>"
                                                + "</tr>";

            var val = Get_list_gioithieudang().Where(r => r.tblDoanVien.MaDonVien == r.MaDoanVien).ToList();
            int dem = 0;
            foreach (var dtdv in val)
            {
                str += "<tr>"
                    + "<td>" + dem++ + "</td>"
                    + "<td>" + dtdv.MaDoanVien + "</td>"
                    + "<td style='text-align: justify;'>" + dtdv.tblDoanVien.HoTen + "</td>   "
                    + "<td>" + string.Format("{0:dd/MM/yyyy}", dtdv.tblDoanVien.NgaySinh) + "</td>"
                    + "<td>" + (dtdv.tblDoanVien.Phai == true ? "Nam" : "Nữ") + "</td> "
                    + "<td>" + string.Format("{0:dd/MM/yyyy}", dtdv.tblDoanVien.NgayVaoDoan) + "</td>     "
                    + "<td>" + string.Format("{0:dd/MM/yyyy}", dtdv.NgayGioiThieu) + "</td>     "
                     + "<td>" + dtdv.tblDoanVien.tblCoSoDoan.TenDonVi.Trim() + "</td>"
                    + "</tr>";
            }

            label_table.Text = str;
        }
    }
    //ĐOÀN VIÊN ƯU TÚ ĐƯỢC KẾT NẠP ĐẢNG
    protected void LinkButton13_Click(object sender, EventArgs e)
    {
        if (lblnoidung.Text != "")
        {
            panel_indanhsach.Visible = true;
            string Today_date = string.Format("{0:dd/MM/yyyy}", DateTime.Now);
            string str = "<td style='text-align: right;' colspan='8'>"
                                                        + "<em>Ngày lập báo cáo:" + Today_date + "</em>"
                                                        + "&nbsp;"

                                                           + " <em>"
                                                               + " <br />"
                                                               + " Đơn vị thống kê:Không rõ </em>"
                                                        + "&nbsp;"

                                                    + "</td>"
                                                + "</tr>"

                                                + "<tr>"
                                                    + "<td>STT</td>"
                                                    + "<td>Mã đoàn viên</td>"
                                                    + "<td>Họ Tên</td>"
                                                    + "<td>Ngày sinh</td>"
                                                    + "<td>Giới tính</td>"
                                                    + "<td>Ngày vào đoàn</td>"
                                                    + "<td>Ngày kết nạp đảng</td>"
                                                    + "<td>Đơn vị trực thuộc</td>"
                                                + "</tr>";

            var val = GetDoanVienDieuKien().Where(r =>r.DangVien==true).ToList();
            int dem = 0;
            foreach (var dtdv in val)
            {
                str += "<tr>"
                    + "<td>" + dem++ + "</td>"
                    + "<td>" + dtdv.MaDonVien + "</td>"
                    + "<td style='text-align: justify;'>" + dtdv.HoTen + "</td>   "
                    + "<td>" + string.Format("{0:dd/MM/yyyy}", dtdv.NgaySinh) + "</td>"
                    + "<td>" + (dtdv.Phai == true ? "Nam" : "Nữ") + "</td> "
                    + "<td>" + string.Format("{0:dd/MM/yyyy}", dtdv.NgayVaoDoan) + "</td>     "
                    + "<td>" + string.Format("{0:dd/MM/yyyy}", dtdv.tblGioiThieuChoDang.NgayKetNapDang) + "</td>     "
                     + "<td>" + dtdv.tblCoSoDoan.TenDonVi.Trim() + "</td>"
                    + "</tr>";
            }

            label_table.Text = str;
        }
    }
    #endregion
    protected void btn_close_view_Click(object sender, EventArgs e)
    {

    }
   //trừ khối doanh nghiệp
    public void dv_theokhoi(int khoi)
    {
        
        if (lblnoidung.Text != "")
        {
            panel_indanhsach.Visible = true;
            string Today_date = string.Format("{0:dd/MM/yyyy}", DateTime.Now);
            string str = "<td style='text-align: right;' colspan='8'>"
                                                        + "<em>Ngày lập báo cáo:" + Today_date + "</em>"
                                                        + "&nbsp;"

                                                           + " <em>"
                                                               + " <br />"
                                                               + " Đơn vị thống kê:Không rõ </em>"
                                                        + "&nbsp;"

                                                    + "</td>"
                                                + "</tr>"

                                                + "<tr>"
                                                    + "<td>STT</td>"
                                                    + "<td>Mã đoàn viên</td>"
                                                    + "<td>Họ Tên</td>"
                                                    + "<td>Ngày sinh</td>"
                                                    + "<td>Giới tính</td>"
                                                    + "<td>Ngày vào đoàn</td>"
                                                    + "<td>Ngày kết nạp đảng</td>"
                                                    + "<td>Đơn vị trực thuộc</td>"
                                                + "</tr>";

            var val = GetDoanVienDieuKien().Where(r =>  r.DangVien==true&&r.tblCoSoDoan.DoanKhoiID==khoi).ToList();
            int dem = 0;
            foreach (var dtdv in val)
            {
                str += "<tr>"
                    + "<td>" + dem++ + "</td>"
                    + "<td>" + dtdv.MaDonVien + "</td>"
                    + "<td style='text-align: justify;'>" + dtdv.HoTen + "</td>   "
                    + "<td>" + string.Format("{0:dd/MM/yyyy}", dtdv.NgaySinh) + "</td>"
                    + "<td>" + (dtdv.Phai == true ? "Nam" : "Nữ") + "</td> "
                    + "<td>" + string.Format("{0:dd/MM/yyyy}", dtdv.NgayVaoDoan) + "</td>     "
                    + "<td>" + string.Format("{0:dd/MM/yyyy}", dtdv.tblGioiThieuChoDang.NgayKetNapDang) + "</td>     "
                     + "<td>" + dtdv.tblCoSoDoan.TenDonVi.Trim() + "</td>"
                    + "</tr>";
            }

            label_table.Text = str;
        }
    }
    //khối doanh nghiệpừ
    public void dv_theokhoi_doanhnghiep(int dnnn,int dntn)
    {
        
        if (lblnoidung.Text != "")
        {
            panel_indanhsach.Visible = true;
            string Today_date = string.Format("{0:dd/MM/yyyy}", DateTime.Now);
            string str = "<td style='text-align: right;' colspan='8'>"
                                                        + "<em>Ngày lập báo cáo:" + Today_date + "</em>"
                                                        + "&nbsp;"

                                                           + " <em>"
                                                               + " <br />"
                                                               + " Đơn vị thống kê:Không rõ </em>"
                                                        + "&nbsp;"

                                                    + "</td>"
                                                + "</tr>"

                                                + "<tr>"
                                                    + "<td>STT</td>"
                                                    + "<td>Mã đoàn viên</td>"
                                                    + "<td>Họ Tên</td>"
                                                    + "<td>Ngày sinh</td>"
                                                    + "<td>Giới tính</td>"
                                                    + "<td>Ngày vào đoàn</td>"
                                                    + "<td>Ngày kết nạp đảng</td>"
                                                    + "<td>Đơn vị trực thuộc</td>"
                                                + "</tr>";

            var val = GetDoanVienDieuKien().Where(r =>r.DangVien==true&&(r.tblCoSoDoan.DoanKhoiID==dnnn||r.tblCoSoDoan.DoanKhoiID==dntn)).ToList();
            int dem = 0;
            foreach (var dtdv in val)
            {
                str += "<tr>"
                    + "<td>" + dem++ + "</td>"
                    + "<td>" + dtdv.MaDonVien + "</td>"
                    + "<td style='text-align: justify;'>" + dtdv.HoTen + "</td>   "
                    + "<td>" + string.Format("{0:dd/MM/yyyy}", dtdv.NgaySinh) + "</td>"
                    + "<td>" + (dtdv.Phai == true ? "Nam" : "Nữ") + "</td> "
                    + "<td>" + string.Format("{0:dd/MM/yyyy}", dtdv.NgayVaoDoan) + "</td>     "
                    + "<td>" + string.Format("{0:dd/MM/yyyy}", dtdv.tblGioiThieuChoDang.NgayKetNapDang) + "</td>     "
                     + "<td>" + dtdv.tblCoSoDoan.TenDonVi.Trim() + "</td>"
                    + "</tr>";
            }

            label_table.Text = str;
        }
    }
    //int khoitruonghoc = Get_list_by_doankhoi(list_csd, daidien, 85).Count();//85:mã danh muc :khối trường học
    //int khoidoanhnghiep_nhanuoc = Get_list_by_doankhoi(list_csd, daidien, 86).Count();//86:mã danh mục khối dn nhà nước
    //int khoidoanhnghiep_ngoai_nhanuoc = Get_list_by_doankhoi(list_csd, daidien, 87).Count();//87:mã danh mục khối dn ngoài nhà nước
    //int khoiCCVC = Get_list_by_doankhoi(list_csd, daidien, 88).Count();//88:mã danh mục khối công chức viên chức
    //int khoiLLVT = Get_list_by_doankhoi(list_csd, daidien, 89).Count();//89:mã danh mục khối lực lượng vũ trang
    //int khoinongthon = Get_list_by_doankhoi(list_csd, daidien, 105).Count();//105:mã danh mục khối nong thon
    //int khoidothi = Get_list_by_doankhoi(list_csd, daidien, 106).Count();//106:mã danh mục khối do thi

    //khối phường xã
protected void LinkButton23_Click(object sender, EventArgs e)
{
     dv_theokhoi(84);
}
//khối trường học
protected void LinkButton24_Click(object sender, EventArgs e)
{
     dv_theokhoi(85);
}
//khối doanh nghiệp
protected void LinkButton25_Click(object sender, EventArgs e)
{
     dv_theokhoi_doanhnghiep(86,87);
}
//khối ccvc
protected void LinkButton26_Click(object sender, EventArgs e)
{
   dv_theokhoi(88);
}
//khối khác
protected void LinkButton27_Click(object sender, EventArgs e)
{
    dv_theokhoi(107);
}
protected void btn_indanhsachdoanvien_Click(object sender, EventArgs e)
{

}
}